As shown in FIG. 1, communication signals (e.g., audio signals, video signals, data, etc.) are often transcoded en route from a source device (e.g., a mobile switching center in a wireless communications system) to a destination device (e.g., a base station controller in that wireless communication system). For the purposes of this specification, the term "transcode" is defined to include encoding and/or decoding with respect to data compression, cryptography and/or error detection and correction.
Typically, the communications link connecting the source device to the destination device transports multiple communication signals. When multiple communication signals are to be transcoded en route, a transcoding bank is usually interposed in the communications link between the source and destination devices. Typically, all of the communication signals in the link are transcoded with the same coding technique and, therefore, the transcoding bank comprises multiple coders, one per communication signal, that are each configured to transcode in accordance with the appropriate coding technique.
There are systems, however, where some of the communication signals in the link are to be transcoded with one coding technique while other communication signals, which are multiplexed in the same communication link, are to be transcoded with a second coding technique. One example of such an system is the Global System for Mobile Communications ("GSM"). In GSM, the mobile switching center transmits multiple 64 kbps audio signals to the base station controller which, however, expects to receive, not the 64 kbps audio signals that were transmitted, but either compressed 16 kbps audio signals in some cases and more highly compressed 8 kbps audio signals in others. To effect this conversion, a multi-coder transcoding bank is needed that can transcode those audio signals that need transcoding from 64 kbps to 16 kbps (and vice versa) and the other signals that need transcoding from 64 kbps to 8 kbps (and vice versa).
FIG. 2 depicts a block diagram of a half-duplex multi-coder transcoding bank 203 that is interposed between a source and destination device. For pedagogical reasons, the signal flow is shown going in one direction only. It will be clear to those skilled in the art that a full-duplex architecture can be designed based on a combination of the half-duplex architecture and the mirror image of the half-duplex architecture, but with the relevant signaling coming from either one or both of the source and destination devices.
FIG. 3 depicts a block diagram of the typical architecture of multi-coder transcoding bank 203. Multi-coder transcoding bank 203 comprises demultiplexor 301, which demultiplexes the incoming communication signals and distributes them to the respective multicoder processing elements, one communication signal per processing element, for transcoding, and multiplexor 303, which re-multiplexes the transcoded communication signals for transmission to the destination device. According to this architecture, each processing element is configured to be capable of transcoding one communication signal according to whichever coding technique is appropriate, hence the name multi-coder processing element. For example, in terms of the GSM system described above, each processing element is preferably configured to be capable of compressing one 64 kbps audio signal to either 16 kbps or 8 kbps. In this architecture the demultiplexing operation, and the corresponding multiplexing operation, is simple because the demultiplexor always parcels out exactly one communication signal to each processing element. Furthermore, the demultiplexing operation, and corresponding demultiplexing operation, is static because a communication signal can always be routed to the same processing element, regardless of whether the coding technique to be applied to the communication signal changes.
Because the communication signal input to each multi-coder processing element may require processing by any of the supported coding techniques, each processing element must be capable of:
(1) discerning the required coding technique to be applied in a particular instance, either by examining the communication signal itself, in the case of in-band signaling, or under the direction of a controller (not shown) that is guided by out-of-band signaling; and PA1 (2) supporting all of the germane transcoding techniques, which requires that the processing element have the computational power to support the most computationally intense of the various transcoding techniques.
The architecture of FIG. 3 is advantageous because neither the source device nor the destination device need know which coding technique is to be applied to a given signal. Nor do the source or destination device need to be concerned with the routing of individual communication signals to the correct transcoding bank to effectuate the transcoding required for that signal.
The architecture of FIG. 3 is disadvantageous, however, when the supported coding techniques have significantly disparate computational complexities (i.e., require different amounts of cycles to perform). In such a case, when a multi-coder processing element is processing the less complex coding technique, the processing element is significantly under-utilized. Furthermore, when a system has only a small proportion of communication signals that require the more complex coding technique, then the transcoder bank is greatly over-engineered, and, therefore, probably more expensive than necessary.
FIG. 4 depicts another architecture that supports multi-coder transcoding. According to this architecture, multiple single-coder transcoding banks are used which each support one of the germane coding techniques. According to this architecture, however, the source device cannot transmit all of the communications signals over a single link, but must be responsible for directing all of the communication signals requiring one coding technique to one transcoder bank and for directing those signals requiring the alternative coding technique to the other transcoding bank. When the source device is extant and not designed to perform this distribution function, this architecture is disadvantageous because it requires significant redesign of the source device and/or destination device to handle the distribution function.
FIG. 5 depicts a block diagram of the salient components of type #1 single-coder transcoding bank 405, which comprises: demultiplexor 501, which demultiplexes the incoming communication signals and distributes them to the respective single-coder processing elements for transcoding, and multiplexor 503, which re-multiplexes all of the transcoded communication signals for transmission to the destination device. Type #2 single-coder transcoding bank 407 is fabricated analogously to the type #1 single-coder transcoding bank 405. According to this architecture, each processing element is configured to be capable of transcoding a communication signal according to only one coding technique, hence the name single-coder processing element. In this architecture the demultiplexing operation is simple, static and straight-forward because each processing element is capable of processing each communication signal.
The architecture of FIG. 5 is advantageous because each of the processing elements are configured identically to perform the same coding technique. There are, however, a number of shortcomings to this approach. The source must provide a segregation function to ensure that the signals are routed to the appropriate transcoding bank, and that the destination be aware of multiple transcoding banks as its input. Additionally, in typical cases, the source and destination devices perform different functions in the management of system operation. For example, in GSM systems, the mobile switching center chooses the channel in which each communication signal is to be transported but the base station controller chooses which coding technique is to be applied to each communication channel. Therefore, it is the source and destination devices must be synchronized in terms of signal routing management and coding technique. This mandates the redesign of the source and destination devices and the addition of a communication link between them that was not required previously.